package RxY;

import java.util.Arrays;
import java.util.Scanner;

public class Text1 {
    /**
     * 插入数值
     *
     * @param args
     */
    public static void main(String[] args) {
        //有一组学员的成绩{99，85，82，63，60}
        //将他们降序排序，要增加一个学员的成绩，将它插入成绩序列，并保持降序
        //1.找到插入的位置，数组下标     {99,85,82,63,60}
        //2.赋值到该赋值的位置          {99,85,82,63,63,60}
        //3.平移后面的值               {99,85,82,70,63,60}
        int[] arr = {99, 85, 82, 63, 60};
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入一个值");
        int num = sc.nextInt();
        int index = arr.length;//默认插入最后一个位置
        // 找到插入的下标
        for (int i = 0; i < arr.length; i++) {
            if (num > arr[i]) {
                index = i;
                break;
            }
        }
        //给数组扩容
        int[] newArray = Arrays.copyOf(arr, arr.length + 1);
        System.out.println("新创建的数组");
        System.out.println(Arrays.toString(newArray)); //{99,85,82,70,63,0}
        // 平移
        for (int i = newArray.length-1; i >index; i--) {
            newArray[i]=newArray[i-1];
        }
//        {99,85,82,70,63,60}
        System.out.println("平移后的数组");
        System.out.println(Arrays.toString(newArray));
        // 赋值给对应下标
        newArray[index]=num;
        System.out.println("最终的数组");
        System.out.println(Arrays.toString(newArray));
    }
}